#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n; // 读取点的数量
    vector<pair<int, int>> points(n); // 存储点的坐标和权值

    for (int i = 0; i < n; i++) {
        cin >> points[i].first >> points[i].second; // 读取坐标和权值
    }

    // 按坐标升序排序
    sort(points.begin(), points.end());

    long long totalEffect = 0; // 存储作用效应之和

    // 使用双重循环计算所有点对的作用效应
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            int x1 = points[i].first, w1 = points[i].second;
            int x2 = points[j].first, w2 = points[j].second;
            totalEffect += max(w1, w2) * abs(x1 - x2);
        }
    }

    cout << totalEffect << endl; // 输出作用效应之和
    return 0;
}